package com.csun.nusing;

import android.app.Application;
import android.content.Context;
import android.os.Message;

import com.baidu.tts.client.SpeechSynthesizer;
import com.csun.ttfutil.TTFSdk;
import com.videogo.openapi.EZOpenSDK;

import cn.jpush.android.api.JPushInterface;

/**
 * mvp架构的一个程序 调用AppContext,将context对象丢出,使用 ClassName: App
 * @Description: TODO
 * @author fzq
 * @date 2017-10-18
 */
public class App extends Application {
	private static App instance = null;
	private static volatile App sinstance = null; // <<< 这里添加了 Appsinstance  
	//开发者需要填入自己申请的appkey
	public static String AppKey = "ca9323cd5d4745e9896113ab32ef4b30";
	private static SpeechSynthesizer speechSynthesizer;
	public static EZOpenSDK getOpenSDK() {
		return EZOpenSDK.getInstance();
	}
	public static SpeechSynthesizer getTTFspeake(Context context) {
		if (null == speechSynthesizer) {
			speechSynthesizer = TTFSdk.initTTs(context);
		}
		return speechSynthesizer;
	}

	////	完美单例模式
//	public static App getInstance() {  
//		App inst = sinstance;  // <<< 在这里创建临时变量
//	    if (inst == null) {
//	        synchronized (App.class) {
//	            inst = sinstance;
//	            if (inst == null) {
//	                inst = new App();
//	                sinstance = inst;
//	            }
//	        }
//	    }
//	    return inst;  // <<< 注意这里返回的是临时变量
//	}
	
	public static App getInstance() {
		if (null == instance) {
			instance = new App();
		}
		return instance;
	}

	@Override
	public void onCreate() {
		super.onCreate();
		AppContext.getInstance().init(this);
		instance = this;
		initSDK();
//		locationClient = new LocationClient(this); // 初始化定位
		JPushInterface.setDebugMode(true); // 设置开启日志,发布时请关闭日志
		JPushInterface.init(this); // 初始化 JPush
//		initLocation(); // 初始化定位
//		SDKInitializer.initialize(this.getApplicationContext()); // 初始化定位
		//判断手机版本是否是7.0
//		if (Integer.valueOf(android.os.Build.VERSION.RELEASE.substring(0,1))<7) {
//			TTSUtilss.getInstance().init(); // 云知声语音合成
//		}
	}

	protected void handle(Message msg) {
		int what = msg.what;
		switch (what) {
		}
	}
	private void initSDK() {
		{
			/**
			 * sdk日志开关，正式发布需要去掉
			 */
			EZOpenSDK.showSDKLog(true);

			/**
			 * 设置是否支持P2P取流,详见api
			 */
			EZOpenSDK.enableP2P(true);

			/**
			 * APP_KEY请替换成自己申请的
			 */
			EZOpenSDK.initLib(this, AppKey);
		}
	}

}
